//js中的数组与java不同，更像是python中的列表，数组中的元素可以不同类型（数字型，字符型，布尔型，未定义，非数字型）我们一开始编写的冒泡排序，使用的就是数组
let arr = [1, "adb", false, undefined, NaN]
//使用下标进行访问
console.log(arr[1])


//js数组可以动态扩容。如果我们访问超过数组长度的元素，不会出现错误，而是得到undefined，同样的，也可以往超出数组长度的地方设置元素
arr[5] = "???"
console.log(arr)

arr[10] = "666"
console.log(arr)

//可以使用push和pop实现栈操作，push把元素压到最后一个位置，得到数组本身，pop弹出最后一个元素，返回的是弹出的元素，原始数组被修改
arr.push("bbb")
console.log(arr)
console.log(arr.pop())
console.log(arr)

//fill函数，是把数组指定起始位置到结束位置的元素都用给定的元素填充，如果不给起始位置和结束位置，则把所有的元素都替换为给定的元素。如果只给起始位置，则从起始位置到结尾替换
let arr1 = [1, "adb", false, undefined, NaN]
arr1.fill(888, 2)

//map() 方法创建一个新数组，这个新数组由原数组中的每个元素都调用一次提供的函数后的返回值组成
console.log(arr1.map(o => {
    return 'xxx'+o
}))

console.log(arr1.map(o => {
    return o + ""
}))